package main

import (
	"github.com/kataras/iris"
	"github.com/kataras/iris/middleware/logger"
	"github.com/kataras/iris/middleware/recover"
	"irisx/routers"
	_ "irisx/db"
)

func main(){


	app := iris.New()
	// 错误恢复正常中间件
	app.Use(recover.New())
	// 日志中间件
	app.Use(logger.New())
	// 设置日志级别
	app.Logger().SetLevel("info")

	// 错误处理
	app.OnAnyErrorCode(func(ctx iris.Context){
		ctx.StatusCode(iris.StatusNotFound)
		ctx.Text("not found the router")
	})

	// 允许跨域
	app.Options("/*", func(ctx iris.Context) {})

	// 设置一个页面图标
	app.Favicon("./static/favicon.ico")

	//设置静态文件
	app.StaticWeb("/static","./static")

	// 注册视图
	tmpl := iris.HTML("./templates", ".html")
	app.RegisterView(tmpl)

	// 页面访问
	app.PartyFunc("/",routers.ViewRouter)

	// 路由测试
	app.PartyFunc("/test",routers.TestRouter)

	// 数据库用户操作
	app.PartyFunc("/users",routers.UserRouter)

	// websoket
	app.PartyFunc("/ws",routers.WebSocketRouter)

	// 火箭发射
	app.Run(iris.Addr(":9090"), iris.WithCharset("UTF-8"))
}


